/**
 * 建造者模式：可以封装一个产品的构造过程，并允许产品按照步骤构造
 *
 * @author ItJianGe
 * @data 2024/8/1 11:43
 */
public class Main {
    public static void main(String[] args) {

        // 用户不知道组装的过程，直接可以得到结果
        Work work = new Work();
        Computer lenovoComputer = work.getLenovoComputer();
        System.out.println(lenovoComputer);

        // 用户自己组装一台电脑
        MySelfComputerBuilder mySelfComputerBuilder = new MySelfComputerBuilder();
        Computer computer = mySelfComputerBuilder.initialComputerCase("ITX机箱")
                .initialComputerMainBoard("华硕主板")
                .initialComputerGPU("4090")
                .initialComputerPower("长城金牌电源")
                .getComputer();
        System.out.println(computer);
    }
}